There are some systems in which an object oriented data model (“object model”) is replicated across multiple computing platforms. An example system is for monitoring and controlling the operations of multiple data processing systems such as the Operations Sentinel software system from Unisys. The Operations Sentinel system allows multiple operators at multiple workstations to monitor and control the operating state of one or more data processing systems and associated peripheral hardware and network hardware. The underlying data model is object oriented and the monitored components are related in a graph.
In the example system, monitored components are represented with icons that are displayed to the operator, and connections between components are represented as lines that connect the components. The icons and lines may be color coded to indicate the operational status. In order to provide an accurate view to multiple operators, the object model is replicated across the multiple workstations. An event reporting mechanism may be used to change the value of an attribute of a monitored component, and the operators at the workstations may be notified of the change. Other types of changes to the object model may be more complicated.
For example, in one scenario components may be added to or removed from the object model, or the connections between the components may be changed. The implementation of the objects and interrelationships in the data model may complicate the replication of this type of change across the multiple instances of the object model. Some object relationships may be implemented as pointers to memory location in which the “related” or “associated” objects are stored. Since pointer values will vary from one instance of the object model to another, in order to propagate a change to the object model the entire model may need to be copied from one system to another in order to maintain the integrity of the pointer values. In addition, special methods maybe required for saving and loading the object model based on the object types and references to other objects.
A method and system that address these and other related issues are therefore desirable.